Fix free_irq() calls to pass the correct dev_id.
#include <asm/io.h>
#include "../blkif.h"
-#if 0
+#if 1
#define ASSERT(_p) \
if ( !(_p) ) { printk("Assertion '%s' failed, line %d, file %s", #_p , \
__LINE__, __FILE__); *(int*)0=0; }
-#define DPRINTK(_f, _a...) printk("(file=%s, line=%d) " _f, \
+#define DPRINTK(_f, _a...) printk(KERN_ALERT "(file=%s, line=%d) " _f, \
__FILE__ , __LINE__ , ## _a )
#else
#define ASSERT(_p) ((void)0)
blkif->status = DISCONNECTING;
blkif->disconnect_rspid = rsp_id;
wmb(); /* Let other CPUs see the status change. */
- free_irq(blkif->irq, NULL);
+ free_irq(blkif->irq, blkif);
blkif_deschedule(blkif);
blkif_put(blkif);
}
printk(KERN_INFO "VBD driver recovery in progress\n");
- /* Prevent new requests being issued until we've fixed things up. */
+ /* Prevent new requests being issued until we fix things up. */
spin_lock_irq(&io_request_lock);
recovery = 1;
blkif_state = BLKIF_STATE_DISCONNECTED;
netif->disconnect_rspid = rsp_id;
wmb(); /* Let other CPUs see the status change. */
netif_stop_queue(netif->dev);
- free_irq(netif->irq, NULL);
+ free_irq(netif->irq, netif);
netif_deschedule(netif);
netif_put(netif);
}